package com.vhall.component.service.room.event;

/**
 * 回调事件常量
 *
 * @author jingwen.li
 * @date 2023/2/20
 */
public interface EventConstant {
    //-------------------------------- 直播回调 --------------------------------
    /**
     * 直播房间流状态变更
     */
    String LIVE_STREAM_CHANGE_STATUS = "lives/stream-change-status";
    /**
     * 直播拉流任务开始或结束时
     */
    String LIVE_PULL_STREAM_STATUS = "lives/pull_stream_status";
    /**
     * 直播推流任务开始或结束时
     */
    String LIVE_PUSH_STREAM_STATUS = "lives/push_stream_status";
    /**
     * 截图鉴黄任务完成时
     */
    String LIVE_TELL_STREAM_IS_YELLOW = "lives/tell-stream-is-yellow";
    /**
     * 订阅直播访问记录查询任务完成时
     */
    String LIVE_ROOM_JOIN_INFO_SYNC = "lives/room-join-info-sync";
    /**
     * 当延时直播播放开始/结束时状态变更
     */
    String LIVE_DELAY_CHANGE_STATUS = "lives/delay-change-status";
    /**
     * 直播中一次完整的识别结果
     */
    String LIVE_RECOGNIZER_RESULT = "lives/recognizer_result";
    /**
     * 直播房间流状态变更
     */
    String LIVE_TELL_STREAM_RUNNING = "lives/tell-stream-running";

    //-------------------------------- 点播回调 --------------------------------
    /**
     * 生成回放完成后
     */
    String CREATE_RECORD_COMPLETE = "CreateRecordComplete";

    /**
     * 视频的某个清晰度、某种格式的流（如：标清的MP4格式）转码完成时会产生此事件。目前单个清晰度至少1种格式的转码完成即可播放
     */
    String SINGLE_TRANSCODE_COMPLETE = "SingleTranscodeComplete";

    /**
     * 视频的全部清晰度全部格式都转码完成时
     */
    String ALL_TRANSCODE_COMPLETE = "AllTranscodeComplete";

    /**
     * 媒体剪辑完成时
     */
    String VIDEO_EDIT_COMPLETE = "VideoEditComplete";

    /**
     * 媒体打包完成时
     */
    String MEDIA_PACKAGE_COMPLETE = "MediaPackageComplete";

    /**
     * 处理点播转直播播放任务时
     */
    String VOD_TO_LIVE_START = "VODToLiveStart";

    /**
     * 点播转直播播放结束后
     */
    String VOD_TO_LIVE_END = "VODToLiveEnd";

    /**
     * 处理点播转直播停止任务时
     */
    String VOD_TO_LIVE_STOP = "VODToLiveStop";

    /**
     * 提交URL批量拉取上传任务后， 在URL拉取媒体并上传过程中，会产生此事件
     */
    String UPLOAD_BY_URL_COMPLETE = "UploadByURLComplete";

    /**
     * 媒体打包任务执行时，会产生此事件，根据固定策略上报媒体打包任务进度
     */
    String MEDIA_PACKAGE_PROGRESS = "MediaPackageProgress";

    /**
     * 视频转码时，会产生此事件。根据固定策略上报个清晰度转码进度及总转码进度信息
     */
    String TRANSCODE_PROGRESS = "TranscodeProgress";

    /**
     * 提交创建，删除，更新点播文档请求后会产生此事件
     */
    String VOD_DOC_CHANGE_COMPLETE = "VODDocChangeComplete";

    /**
     * 18.生成媒体封面完成
     * 生成媒体封面任务完成完成后会产生此事件
     */
    String VOD_COVER_COMPLETE = "VODCoverComplete";

    //-------------------------------- 音视频互动回调 --------------------------------

    /**
     * 互动房间有人加入
     */
    String USE_RENTER_ROOM = "UserEnterRoom";

    /**
     * 互动房间有人退出
     */
    String USER_LEAVE_ROOM = "UserLeaveRoom";

    /**
     * 互动房间有人开始推流
     */
    String USER_PUBLISH_START = "UserPublishStart";

    /**
     * 互动房间有人停止推流
     */
    String USER_PUBLISH_STOP = "UserPublishStop";

    /**
     * 互动房间有人更新推流状态
     */
    String USER_PUBLISH_UPDATE = "UserPublishUpdate";

    //-------------------------------- 文档白板服务 --------------------------------

    /**
     * 文档转码成功后回调通知
     */
    String DOCUMENT_TRANS_OVER = "document/trans-over";

    /**
     * 文档转码进度回调通知
     */
    String DOCUMENT_TRANS_CONVERSION_PROCESS = "document/trans-conversion-process";


    //-------------------------------- 推送通知 --------------------------------

    /**
     * 短信发送完成
     */
    String VHALL_SMS_SEND_COMPLETE = "VhallSmsSendComplete";
}
